home *** CD-ROM | disk | FTP | other *** search
/ C64'er / C64'er.iso / 85xx / 8510.d64 / xref alt (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  5KB  |  177 lines

  1. 10 REM*********************************
  2. 20 REM* PROGRAMMNAME : XREF           *
  3. 30 REM*     C-64                      *
  4. 40 REM*     FLOPPY 1541 O. AEHNLICHE  *
  5. 50 REM*     DRUCKER (Z.B. MPS 801)    *
  6. 60 REM* VON STEFAN BECKER             *
  7. 70 REM*********************************
  8. 80 CLR:GOTO150
  9. 90 GET#1,A$:X=ASC(A$+N$):IF(64ANDST)=0THENRETURN
  10. 100 CLOSE1:IFPATHENPA=0:GOTO520
  11. 110 GOTO960
  12. 120 GOSUB90:X1=X:GOSUB90:X=X1+256*X:RETURN
  13. 130 IFSP<OBANDVA<OBANDPS<OBTHENRETURN:REM*** GRENZEN ERREICHT ? ***
  14. 140 PRINT:PRINT"[194]ITTE DIE [214]ARIABLE OB IN [218]EILE 150 VERGROESSERN.":GOTO1310
  15. 150 OB=500:DIMSP$(OB),PS$(OB),VA$(OB)
  16. 160 REM*** OB IST OBERGRENZE DER ANZAHL DER SPRUENGE UND VARIABLEN ***
  17. 170 POKE53280,6:POKE53281,6
  18. 180 N$=CHR$(0)
  19. 190 LE$="                                                  "
  20. 200 PRINTCHR$(147)CHR$(9)CHR$(14)CHR$(8)CHR$(144);
  21. 210 PRINT"          [195]ROSS-[210]EFERENZ-[204]ISTER         "
  22. 220 PRINT"[193]USGABE AUF ":PRINT"[194][146]ILDSCHIRM ODER [196][146]RUCKER[145][145][145]"
  23. 230 PRINTSPC(12);:POKE204,0
  24. 240 GETA$:IFA$<>"B"ANDA$<>"D"GOTO240
  25. 250 IFA$="B"THENPRINT"[194]ILDSCHIRM.":DV=3:GOTO270
  26. 260 PRINT"[196]RUCKER.":DV=4
  27. 270 PRINT"                       [145]"
  28. 280 OPEN1,0:PRINT"[208]ROGRAMMNAME: ";:INPUT#1,NA$:CLOSE1:PRINT
  29. 290 OPEN2,8,15:OPEN1,8,2,NA$+",P,R":GOSUB1290:GOSUB120:IFX=2049THEN310
  30. 300 PRINT:PRINT"[196]AS [208]ROGRAMM MUSS AB 2049 LIEGEN.":GOTO1310
  31. 302 :
  32. 304 :
  33. 305 REM********************************
  34. 306 REM     PASS 1 SPRUNGTABELLE
  35. 308 REM********************************
  36. 309 :
  37. 310 PRINT"[147][208]ASS 1 ([211]UCHEN DER [211]PRUENGE)":PA=1
  38. 320 GOSUB120:GOSUB120:ZE$=RIGHT$("     "+STR$(X),5):PRINT""ZE$
  39. 330 GOSUB90:IFX=137ORX=138ORX=141ORX=167THENS1$="":GOTO360
  40. 340 IFX=0GOTO320
  41. 350 GOTO330
  42. 360 GOSUB90:IFX=32GOTO360
  43. 370 IFX>=48ANDX<=57THENS1$=S1$+A$:GOTO360
  44. 380 IFS1$=""GOTO470
  45. 390 S1$=RIGHT$("      "+S1$,6)
  46. 400 IFLEFT$(SP$(SP),5)<>ZE$THENSP=SP+1:GOSUB130:SP$(SP)=ZE$+":"
  47. 410 IFLEN(SP$(SP))>70THENSP=SP+1:GOSUB130:SP$(SP)=ZE$+":"
  48. 420 IFRIGHT$(SP$(SP),6)<>S1$THENSP$(SP)=SP$(SP)+S1$
  49. 430 FORI=1TOPS
  50. 440 IFLEFT$(PS$(I),6)<>S1$THENNEXT:PS=I:GOSUB130:PS$(I)=S1$+":"
  51. 450 IFLEN(PS$(I))>70THENNEXT:PS=PS+1:I=PS:GOSUB130:PS$(I)=S1$+":"
  52. 460 IFRIGHT$(PS$(I),5)<>ZE$THENPS$(I)=PS$(I)+" "+ZE$
  53. 470 IFX=0GOTO320
  54. 480 IFX=44THENS1$="":GOTO360
  55. 490 IFX=58ORX>=127OR(X>=65ANDX<=90)GOTO330
  56. 500 PRINT:PRINT"[198]EHLER IM [209]UELLPROGRAMM. [218]EILE:"ZE$:GOTO1310
  57. 502 :
  58. 504 :
  59. 506 REM -------------------------------
  60. 510 REM*** SORTIEREN DER SPRUNGZIELE (FELD PS$( ***
  61. 515 REM -------------------------------
  62. 516 :
  63. 520 FORI=1TOPS
  64. 530 FORJ=ITOPS
  65. 540 IFLEFT$(PS$(I),5)<LEFT$(PS$(J),5)GOTO560
  66. 550 PS$(0)=PS$(I):PS$(I)=PS$(J):PS$(J)=PS$(0)
  67. 560 NEXTJ
  68. 570 NEXTI
  69. 574 :
  70. 575 REM--------------------------------
  71. 576 REM   AUSGABE SPRUENGE + SPRUNGZIELE
  72. 577 REM--------------------------------
  73. 578 :
  74. 580 OPEN1,DV,7:PRINT#1,"[208]ROGRAMMNAME: "NA$:PRINT#1
  75. 590 PRINT#1,"SPRUNGTABELLE           "
  76. 600 PRINT#1,"--------------------------"
  77. 605 PRINT#1,"ZEILE :   SPRUNG AUF ZEILE      ":PRINT#1
  78. 610 FORI=1TOSP
  79. 620 IFLEFT$(SP$(I-1),5)=LEFT$(SP$(I),5)THENPRINT#1,SPC(7)MID$(SP$(I),7):GOTO640
  80. 630 PRINT#1," "SP$(I)
  81. 640 NEXTI:PRINT#1
  82. 645 PRINT#1,"ZEILE :   WIRD ANGESPRUNGEN VON":PRINT#1
  83. 650 PS$(0)="":FORI=2TOPS
  84. 660 IFLEFT$(PS$(I-1),6)<>LEFT$(PS$(I),6)THENPRINT#1,PS$(I):GOTO680
  85. 670 PRINT#1,SPC(6);MID$(PS$(I),7)
  86. 680 NEXTI:CLOSE1
  87. 690 PRINT"[206][146]OCHMALS/[215][146]EITER"
  88. 700 GETA$:IFA$<>"N"ANDA$<>"W"GOTO700
  89. 710 IFA$="N"GOTO580
  90. 712 :
  91. 714 :
  92. 715 REM********************************
  93. 716 REM     PASS 2 VARIABLE SUCHEN
  94. 718 REM********************************
  95. 719 :
  96. 720 PRINT"[147][208]ASS 2 ([211]UCHEN DER [214]ARIABLEN)"
  97. 730 OPEN1,8,2,NA$+",P,R":GOSUB1290:GOSUB120
  98. 740 GOSUB120:GOSUB120:ZE$=RIGHT$("     "+STR$(X),5):PRINT""ZE$:Y=0
  99. 750 GOSUB90
  100. 760 IFX=0GOTO740
  101. 770 IFX=34ORX=131ORX=143GOTO800
  102. 780 IFX>64ANDX<91GOTO850
  103. 790 GOTO750
  104. 800 IFX=131THENY=1
  105. 810 GOSUB90:IFX=0GOTO740
  106. 820 IFX=34GOTO750
  107. 830 IFX=58ANDY=1GOTO750
  108. 840 GOTO810
  109. 850 V1$=A$
  110. 860 GOSUB90
  111. 870 IFX=36ORX=37OR(X>47ANDX<58)OR(X>64ANDX<91)THENV1$=V1$+A$:GOTO860
  112. 880 IFX=40THENV1$=V1$+A$
  113. 890 V1$=LEFT$(V1$+"    ",4)
  114. 900 FORI=1TOVA
  115. 910 IFLEFT$(VA$(I),4)<>V1$THENNEXT:VA=I:GOSUB130:VA$(I)=V1$+"  :"
  116. 920 IFLEN(VA$(I))>50THENNEXT:VA=VA+1:I=VA:GOSUB130:VA$(I)=VA$+"  :"
  117. 930 IFRIGHT$(VA$(I),5)<>ZE$THENVA$(I)=VA$(I)+" "+ZE$
  118. 940 IFX=0GOTO740
  119. 950 GOTO750
  120. 952 :
  121. 954 :
  122. 956 REM -------------------------------
  123. 960 REM *** SORTIEREN DER VARIABLEN (FELD VA$( ***
  124. 965 REM -------------------------------
  125. 968 :
  126. 970 FORI=1TOVA
  127. 980 FORJ=ITOVA
  128. 990 IFLEFT$(VA$(I),4)>LEFT$(VA$(J),4)GOTO1010
  129. 1000 VA$(0)=VA$(I):VA$(I)=VA$(J):VA$(J)=VA$(0)
  130. 1010 NEXTJ
  131. 1020 NEXTI:VA=VA-1:I=VA
  132. 1025 :
  133. 1030 PRINT"[147][215]OLLEN [211]IE ZU DEN [214]ARIABLEN":PRINT"[194]EMERKUNGEN EINGEBEN?  ";
  134. 1040 GETA$:IFA$="N"GOTO1180
  135. 1050 IFA$<>"J"GOTO1040
  136. 1060 PRINT"[202]A"
  137. 1070 PRINT"[214]ARIABLENNAME: ";LEFT$(VA$(I),4)
  138. 1073 PRINTLE$
  139. 1075 IFLEN(VA$(I))>70THENPRINT"[145][145]"RIGHT$(VA$(I),25)
  140. 1080 GETA$:IFA$<>"[145]"ANDA$<>""ANDA$<>CHR$(13)GOTO1080
  141. 1090 IFA$="[145]"THENI=I+1:IFI>VATHENI=VA
  142. 1100 IFA$=""THENI=I-1:IFI<1THENI=1
  143. 1110 IFA$<>CHR$(13)GOTO1070
  144. 1120 VR$=LEFT$(VA$(I),4):OPEN1,0
  145. 1130 PRINT"[212]EXT:";:INPUT#1,TE$:PRINT:CLOSE1:TE$=LEFT$(TE$,25)
  146. 1140 FORI=VATO1STEP-1
  147. 1150 IFLEFT$(VA$(I),4)<>VR$THENNEXT:PRINT"[206]ICHT VORHANDEN.":GOTO1070
  148. 1160 VA$(I)=LEFT$(VA$(I)+LE$,55)+RIGHT$(LE$+TE$,25):GOTO1030
  149. 1170 VR$=LEFT$(VR$,4)
  150. 1174 ;
  151. 1175 REM-------------------------------
  152. 1176 REM     AUSGABE VARIABLE
  153. 1177 REM-------------------------------
  154. 1180 PRINT:OPEN1,DV,7
  155. 1190 PRINT#1,"LISTE DER VARIABLEN     :"
  156. 1200 PRINT#1,"-------------------------"
  157. 1210 FORI=VATO1STEP-1
  158. 1220 IFLEFT$(VA$(I+1),4)<>LEFT$(VA$(I),4)THENPRINT#1,VA$(I):GOTO1240
  159. 1230 PRINT#1,SPC(6);MID$(VA$(I),7)
  160. 1240 NEXTI
  161. 1250 PRINT"N[146]OCHMALS/W[146]EITER"
  162. 1260 GETA$:IFA$<>"N"ANDA$<>"W"GOTO1260
  163. 1263 IFA$="N"GOTO1190
  164. 1266 PRINT"[214]ARIABLENLISTE OHNE [218]EILENNUMMER (J/N)"
  165. 1267 GETR$:IFR$=""THEN1267
  166. 1268 IFR$<>"J"THENPRINT:PRINT"ENDE":GOTO1310
  167. 1269 PRINT#1:PRINT#1:PRINT#1,"[214]ARIABLENLISTE OHNE [218]EILENNUMMER"
  168. 1270 PRINT#1,"-------------------------------"
  169. 1271 FORI=VATO1STEP-1
  170. 1272 IFLEN(VA$(I))>70THENPRINT#1,LEFT$(VA$(I),8);RIGHT$(VA$(I),25):GOTO1274
  171. 1273 PRINT#1,LEFT$(VA$(I),8)
  172. 1274 NEXTI
  173. 1280 GOTO1310
  174. 1290 INPUT#2,A$,B$:IFA$="00"THENRETURN
  175. 1300 PRINT:PRINT"[196]ISK-[197]RROR: ";B$
  176. 1310 CLOSE1:CLOSE2:END
  177.